<template>
   <div id="myChart" :style="{ width: '100%', height: '470px' }"></div>
</template>

<script lang='ts'>
import * as echarts from "echarts";
import { onMounted, onUnmounted, ref } from 'vue'
export default {
    name:'LineChart',
    setup() {
        let echart = echarts;

     onMounted(() => {
      initChart();
    });

    onUnmounted(() => {
      echart.dispose;
    });
     // 基础配置一下Echarts
    function initChart() {
      let chart = echart.init(document.getElementById("myChart")!);
      // 把配置和数据放这里
      chart.setOption({
     title: {
        text: '用户数据'
    },
    tooltip: {
        trigger: 'axis'
    },
    legend: {
        data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name: '邮件营销',
            type: 'line',
            stack: '总量',
            data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
            name: '联盟广告',
            type: 'line',
            stack: '总量',
            data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
            name: '视频广告',
            type: 'line',
            stack: '总量',
            data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
            name: '直接访问',
            type: 'line',
            stack: '总量',
            data: [320, 332, 301, 334, 390, 330, 320]
        },
        {
            name: '搜索引擎',
            type: 'line',
            stack: '总量',
            data: [820, 932, 901, 934, 1290, 1330, 1320]
        }
    ]
      });
      window.onresize = function() {
        //自适应大小
        chart.resize();
      };
    }

    return {
        initChart
    };
    
  }
}
</script>
<style scoped>

</style>